<?php
session_start();
$formulario=$_REQUEST;
$_SESSION["formulario"]=$formulario;
$errores=array();
if(!isset($formulario["username"])||$formulario["username"]=="")
	array_push($errores,"Debe introducir un nombre de usuario.");
if(preg_match("/\s/",$formulario["username"])||preg_match("/[[:upper:]]/",$formulario["username"]))
	array_push($errores,"El nombre de usuario no debe contener espacios ni mayusculas.");
if(compruebaString($formulario["username"]))
	array_push($errores,"No intentes acceder a la BD churrita.");
if(!isset($formulario["passwd"])||$formulario["passwd"]=="")
	array_push($errores,"La contraseña no puede ser vacia.");
if(preg_match("/\s/",$formulario["passwd"]))
	array_push($errores,"La contraseña no debe contener espacios.");
if(compruebaString($formulario["passwd"]))
	array_push($errores,"No intentes acceder a la BD churrita.");
if(!isset($formulario["rpt_passwd"])||$formulario["rpt_passwd"]=="")
	array_push($errores,"El campo repite contraseña no puede estar vacio.");
if(compruebaString($formulario["rpt_passwd"]))
	array_push($errores,"No intentes acceder a la BD churrita.");
if(strcmp($formulario['rpt_passwd'],$formulario['passwd'])!=0)
	array_push($errores,"Las contraseñas son distintas.");
if(!isset($formulario["dni"])||$formulario["dni"]=="")
	array_push($errores,"El campo Dni debe estar relleno.");
if(preg_match("/\D/",$formulario["dni"]))
	array_push($errores,"El campo dni esta compuesto por digitos");
if(!isset($formulario["letra"])||$formulario["letra"]=="")
	array_push($errores,"Rellene el campo letra.");
if(!preg_match("/[TRWAGMYFPDXBNJZSQVHLCKE]/",strtoupper($formulario["letra"])))
	array_push($errores,"La letra del dni debe ser una letra valida.");	
if(compruebaDNI())
	array_push($errores,"La letra no coincide con la de el DNI proporcionado");
if(!isset($formulario["name"])||$formulario["name"]=="")
	array_push($errores,"El nombre debe estar relleno.");
if(compruebaString($formulario["name"]))
	array_push($errores,"No intentes acceder a la BD churrita.");
if(!isset($formulario["surname"])||$formulario["surname"]=="")
	array_push($errores,"Debe rellenar el campo Apellidos.");
if(compruebaString($formulario["surname"]))
	array_push($errores,"No intentes acceder a la BD churrita.");
if(!isset($formulario["email"])||$formulario["email"]=="")
	array_push($errores,"Debe de proporcionar un email.");
if(compruebaString($formulario["email"]))
	array_push($errores,"No intentes acceder a la BD churrita.");
if(!isset($formulario["rptemail"])||$formulario["rptemail"]=="")
	array_push($errores,"Debe repetir el email.");
if(compruebaString($formulario["rptemail"]))
	array_push($errores,"No intentes acceder a la BD churrita.");
if(strcmp($formulario["email"],$formulario["rptemail"])!=0)
	array_push($errores,"Los emails son distintos.");
if(!preg_match("/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/",$formulario["email"]))
	array_push($errores,"No es un email valido.");
if(compruebaString($formulario["address"]))
	array_push($errores,"No intentes acceder a la BD churrita.");
if(!isset($formulario["address"])||$formulario["address"]=="")
	array_push($errores,"Debe rellenar la direccion");
if(!isset($formulario["zipCode"])||$formulario["zipCode"]=="")
	array_push($errores,"El Codigo Postal no esta relleno.");
if(!isset($formulario["city"])||$formulario["city"]=="")
	array_push($errores,"Debe rellenar el campo Ciudad.");
if(compruebaString($formulario["city"]))
	array_push($errores,"No intentes acceder a la BD churrita.");
if(!isset($formulario["state"])||$formulario["state"]=="")
	array_push($errores,"Debe rellenar el campo Provincia.");
if(compruebaString($formulario["state"]))
	array_push($errores,"No intentes acceder a la BD churrita.");
		
if(count($errores)==0){
		header("Location: exitoRegistro.php");
}else{
	$_SESSION["erroresForm"]=$errores;
		header("Location: entradaRegistro.php");}
		
function compruebaDNI(){
	$numero=(int)$_REQUEST["dni"];
	$letra=strtoupper($_REQUEST["letra"]);
	$abc="TRWAGMYFPDXBNJZSQVHLCKE";
	$numero=$numero%23;
	if(substr($abc,$numero,1)!=$letra)
		return 1;
}
function compruebaString($texto){
	return preg_match("/\sselect\s/",strtolower($texto))||preg_match("/select\s/",strtolower($texto))
	||preg_match("/\supdate\s/",strtolower($texto))||preg_match("/update\s/",strtolower($texto))
	||preg_match("/\sinsert\s/",strtolower($texto))||preg_match("/insert\s/",strtolower($texto))
	||preg_match("/\sdelete\s/",strtolower($texto))||preg_match("/delete\s/",strtolower($texto));
}

?>